home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 8 / FM Towns Free Software Collection 8.iso / t_os / gpen32k / source / lib / osrc / menuside.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-01  |  919 b   |  50 lines

  1. /*
  2.         独自メニューへのサイドワーク追加    ver. 0.002
  3.                                         Copyright(C) 1993 Okome
  4. */
  5.  
  6. #include    <kkstr2.h>
  7. #include    <sidework.h>
  8. #include    <okome.h>
  9.  
  10. extern char *MEN_title[];
  11. extern int MEN_kazu[], MEN_si, MEN_ss;
  12. extern void (*MEN_sdkexec)();
  13. char MEN_sna[30][28], MEN_skey[30];
  14.  
  15. void MEN_sidein(int u)
  16. {
  17.     int i, t=0;
  18.     if ((MEN_ss = sdk_getNumProg())>0)
  19.     {
  20.         u += MEN_kazu[0];
  21.         MEN_si = u;
  22.         for (i=0; i<= MEN_kazu[0]; i++)
  23.         {
  24.             t += MEN_kazu[i];
  25.         }
  26.         for (i=t-1; i>=u; i--)
  27.         {
  28.             MEN_title[i+MEN_ss] = MEN_title[i];
  29.         }
  30.         MEN_kazu[1]+=MEN_ss;
  31.         for (i=u; i<u+MEN_ss-1; i++)
  32.         {
  33.             sdk_getProgName(i-u+1, MEN_sna[i-u], MEN_skey+i-u);
  34.             MEN_title[i] = MEN_sna[i-u];
  35.             *(MEN_skey+i-u+1)=0;
  36.         }
  37.         MEN_title[i] = "#";
  38.         MEN_sdkexec = MEN_sideexec;
  39.     }
  40. }
  41.  
  42. void MEN_sideexec(int i)
  43. {
  44.     int k;
  45.     KAN_getMode(&k);
  46.     KAN_setMode(0x20000);
  47.     sdk_exec(i);
  48.     KAN_setMode(k);
  49. }
  50.